/*
 * DistributedMessageQueue.h
 *
 *  Created on: Jul 22, 2013
 *      Author: m
 */

#ifndef DISTRIBUTEDMESSAGEQUEUE_H_
#define DISTRIBUTEDMESSAGEQUEUE_H_

#include "MessageQueueInterface.h"

namespace communication
{

template <class T> class DistributedMessageQueue : public MessageQueueInterface<T>
{
public:
    DistributedMessageQueue();
    virtual ~DistributedMessageQueue();

    void put( T &data )
    {
        /*
         * TODO: IMPLEMENT
         */

        throw Exception( "Not Implemented" );
    }

    T get()
    {
        /*
         * TODO: IMPLEMENT
         */

        throw Exception( "Not Implemented" );
    }

    bool poll( T& data )
    {
        /*
         * TODO: IMPLEMENT
         */

        throw Exception( "Not Implemented" );

        return false;
    }

    void open( std::string name )
    {
        /*
         * TODO: IMPLEMENT
         */

        throw Exception( "Not Implemented" );
    }

    void close()
    {
        /*
         * TODO: IMPLEMENT
         */

        throw Exception( "Not Implemented" );
    }

    void destroy()
    {
        /*
         * TODO: IMPLEMENT
         */

        throw Exception( "Not Implemented" );
    }
};

} /* namespace communication */
#endif /* DISTRIBUTEDMESSAGEQUEUE_H_ */
